#ifndef GENERICATASK_H
#define GENERICATASK_H
#include <QRunnable>

/**
 * @brief The GenericTask class  这是一个通用的模板任务类
 */
template<typename Callback>
class GenericTask : public QRunnable
{
public:
    explicit GenericTask(Callback &&func)
        : m_func(std::forward<Callback>(func))
    {}

    void run() override { m_func(); } // globalThreadPool->start加入到线程池之后，会自动执行run函数

private:
    Callback m_func;
};

#endif // GENERICATASK_H
